package com.ccmusic.dao.impl;

import java.util.List;

import com.ccmusic.dao.CommentsDao;
import com.ccmusic.entity.Comments;
import com.ccmusic.util.PageData;

/**
 * 
 * @author wwb 2019.3.27
 *
 */
public class CommentsDaoImpl extends BaseDao implements CommentsDao {
	
	/**
	 * 增加评论到数据库，如果comments对象中的mid uid不为0，且contents date不为空值，则执行添加操作，否则直接返回false。
	 */
	@Override
	public boolean addComments(Comments comments) {
		if(comments.getMid()!=0 && comments.getUid()!=0 && !(comments.getContents().equals("")) && !(comments.getCdate().equals(""))) {
			String sql="insert into comments(mid,uid,contents,cdate) values(?,?,?,?)";
			int result=execute(sql, comments.getMid(),comments.getUid(),comments.getContents(),comments.getCdate());
			return result == 1 ? true : false;
		}else {
			return false;
		}	
	}
	
	/**
	 *  从数据库中删除评论，如果comments对象中的uid不为0，则执行删除操作，否则直接返回false。
	 */
	@Override
	public boolean deleteComments(Comments comments) {
		if(comments.getCid()!=0) {
			String sql="delete from comments where cid=?";
			int result=execute(sql, comments.getCid());
			return result == 1 ? true : false;
		}
		return false;
	}
	
	/**
	 *预留的修改功能
	 */
	@Override
	public boolean updataComments(Comments comments) {
		
		return false;
	}
	
	/**
	 * 分页查询所有评论
	 */
	@Override
	public PageData<Comments> getAllComments(int page, int pageSize) {
		String sql="select * from comments";
		PageData<Comments> pd =getPage(sql, page, pageSize, Comments.class);
		return pd;
	}
	
	/**
	 * 分页模糊查询
	 */
	@Override
	public PageData<Comments> FuzzySearchComments(int page, int pageSize, String key) {
		String sql="select * from comments where contents like ?";
		PageData<Comments> pd =getPage(sql, page, pageSize, Comments.class, "%" + key + "%");
		return pd;
	}

	
	/**
	 * 3.28cyf修改
	 * 查询所有评论的方法datatable
	 * @return 返回一个评论的集合
	 */
	@Override
	public List<Comments> getAllComments() {
		String sql="select * from comments";
		List<Comments> list= (List<Comments>) this.select(sql, Comments.class);
		if(list.size()>0) {
			return list;
		}
		return null;
	}
	
	 /**
	  * 3.28cyf修改
	  * 管理员根据id删除不当评论
	  * @param cid 评论id
	  * @return 布尔类型
	  */
	
	@Override
	public boolean deleteCommentsByCid(int cid) {
		String sql="delete from comments where cid=?";
		int n=this.execute(sql, cid);
		if(n>0) {
			return true;
		}
		return false;
	}
	
}
